<?php

/**
 * DetailCodes.
 *
 * PHP version 8.3
 *
 * @category Class
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */

/**
 * Amazon Shipping API.
 *
 * The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments.
 *
 * The version of the OpenAPI document: v2
 * Contact: swa-api-core@amazon.com
 * Generated by: https://openapi-generator.tech
 * Generator version: 7.9.0
 */

/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

namespace SpApi\Model\shipping\v2;

/**
 * DetailCodes Class Doc Comment.
 *
 * @category Class
 *
 * @description A list of codes used to provide additional shipment information.
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */
class DetailCodes
{
    /**
     * Possible values of this enum.
     */
    public const BUSINESS_CLOSED = 'BusinessClosed';

    public const CUSTOMER_UNAVAILABLE = 'CustomerUnavailable';

    public const PAYMENT_NOT_READY = 'PaymentNotReady';

    public const OTP_NOT_AVAILABLE = 'OtpNotAvailable';

    public const DELIVERY_ATTEMPTED = 'DeliveryAttempted';

    public const UNABLE_TO_ACCESS = 'UnableToAccess';

    public const UNABLE_TO_CONTACT_RECIPIENT = 'UnableToContactRecipient';

    public const DELIVERED_TO_BEHIND_WHEELIE_BIN = 'DeliveredToBehindWheelieBin';

    public const DELIVERED_TO_PORCH = 'DeliveredToPorch';

    public const DELIVERED_TO_GARAGE = 'DeliveredToGarage';

    public const DELIVERED_TO_GARDEN = 'DeliveredToGarden';

    public const DELIVERED_TO_GREENHOUSE = 'DeliveredToGreenhouse';

    public const DELIVERED_TO_MAIL_SLOT = 'DeliveredToMailSlot';

    public const DELIVERED_TO_MAIL_ROOM = 'DeliveredToMailRoom';

    public const DELIVERED_TO_NEIGHBOR = 'DeliveredToNeighbor';

    public const DELIVERED_TO_REAR_DOOR = 'DeliveredToRearDoor';

    public const DELIVERED_TO_RECEPTIONIST = 'DeliveredToReceptionist';

    public const DELIVERED_TO_SHED = 'DeliveredToShed';

    public const DELIVERED_WITH_OTP = 'DeliveredWithOTP';

    public const SIGNED = 'Signed';

    public const DAMAGED = 'Damaged';

    public const INCORRECT_ITEMS = 'IncorrectItems';

    public const NOT_REQUIRED = 'NotRequired';

    public const REJECTED = 'Rejected';

    public const REJECTED_BY_RECIPIENT_WITH_VERIFICATION = 'RejectedByRecipientWithVerification';

    public const CANCELLED_BY_RECIPIENT = 'CancelledByRecipient';

    public const ADDRESS_NOT_FOUND = 'AddressNotFound';

    public const HAZMAT_SHIPMENT = 'HazmatShipment';

    public const UNDELIVERABLE = 'Undeliverable';

    public const ARRIVED_AT_LOCAL_FACILITY = 'ArrivedAtLocalFacility';

    /**
     * Gets allowable values of the enum.
     *
     * @return string[]
     */
    public static function getAllowableEnumValues(): array
    {
        return [
            self::BUSINESS_CLOSED,
            self::CUSTOMER_UNAVAILABLE,
            self::PAYMENT_NOT_READY,
            self::OTP_NOT_AVAILABLE,
            self::DELIVERY_ATTEMPTED,
            self::UNABLE_TO_ACCESS,
            self::UNABLE_TO_CONTACT_RECIPIENT,
            self::DELIVERED_TO_BEHIND_WHEELIE_BIN,
            self::DELIVERED_TO_PORCH,
            self::DELIVERED_TO_GARAGE,
            self::DELIVERED_TO_GARDEN,
            self::DELIVERED_TO_GREENHOUSE,
            self::DELIVERED_TO_MAIL_SLOT,
            self::DELIVERED_TO_MAIL_ROOM,
            self::DELIVERED_TO_NEIGHBOR,
            self::DELIVERED_TO_REAR_DOOR,
            self::DELIVERED_TO_RECEPTIONIST,
            self::DELIVERED_TO_SHED,
            self::DELIVERED_WITH_OTP,
            self::SIGNED,
            self::DAMAGED,
            self::INCORRECT_ITEMS,
            self::NOT_REQUIRED,
            self::REJECTED,
            self::REJECTED_BY_RECIPIENT_WITH_VERIFICATION,
            self::CANCELLED_BY_RECIPIENT,
            self::ADDRESS_NOT_FOUND,
            self::HAZMAT_SHIPMENT,
            self::UNDELIVERABLE,
            self::ARRIVED_AT_LOCAL_FACILITY,
        ];
    }
}
